What are the key differences between using a constructor function and an object literal in JavaScrip